package io.github.echarts.option.style;


import java.io.Serializable;

/**
 * 区域填充样式，用于折线图的区域填充。
 */
public class AreaStyle implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    private String color;
    private Double opacity;
    private String origin;  // 堆叠起点设置: 'auto', 'start', 'end'
    
    /**
     * 创建一个新的区域填充样式实例。
     */
    public AreaStyle() {
    }
    
    /**
     * 使用指定颜色创建区域填充样式。
     *
     * @param color 填充颜色
     */
    public AreaStyle(String color) {
        this.color = color;
    }
    
    /**
     * 使用指定颜色和透明度创建区域填充样式。
     *
     * @param color 填充颜色
     * @param opacity 透明度，取值范围[0,1]
     */
    public AreaStyle(String color, Double opacity) {
        this.color = color;
        this.opacity = opacity;
    }
    
    /**
     * 获取填充颜色。
     *
     * @return 填充颜色
     */
    public String getColor() {
        return color;
    }
    
    /**
     * 设置填充颜色。
     *
     * @param color 填充颜色
     * @return 当前实例，用于链式调用
     */
    public AreaStyle setColor(String color) {
        this.color = color;
        return this;
    }
    
    /**
     * 获取透明度。
     *
     * @return 透明度，取值范围[0,1]
     */
    public Double getOpacity() {
        return opacity;
    }
    
    /**
     * 设置透明度。
     *
     * @param opacity 透明度，取值范围[0,1]
     * @return 当前实例，用于链式调用
     */
    public AreaStyle setOpacity(Double opacity) {
        this.opacity = opacity;
        return this;
    }
    
    /**
     * 获取堆叠起点设置。
     *
     * @return 堆叠起点设置
     */
    public String getOrigin() {
        return origin;
    }
    
    /**
     * 设置堆叠起点设置。
     * 可选值：'auto', 'start', 'end'
     *
     * @param origin 堆叠起点设置
     * @return 当前实例，用于链式调用
     */
    public AreaStyle setOrigin(String origin) {
        this.origin = origin;
        return this;
    }
} 